GNU Guile
GNU Guile
| |
---|---|
Basisdaten
| |
Hauptentwickler | Andy Wingo, Ludovic Courtès |
Entwickler | GNU-Projekt[1] |
Erscheinungsjahr | 1993[2] |
Aktuelle Version | 3.0.10[3] (23. Juni 2024) |
Betriebssystem | GNU, GNU/Linux, BSD, MS Windows (via MinGW oder Cygwin) |
Programmiersprache | C |
Kategorie | Programmiersprache |
Lizenz | GPL |
gnu.org: guile |
Guile, ein Akronym für GNU Ubiquitous Intelligent Language for Extensions, ist die offizielle Erweiterungssprache für das Betriebssystem GNU und wird im Rahmen des GNU-Projekts entwickelt. Guile ist ein Interpreter für die Programmiersprache Scheme, einen Lisp-Dialekt. Die Compiler-Infrastruktur, Bibliotheken und dynamische Programmierumgebung machen Guile zu einer mächtigen Sprache zum Schreiben von Anwendungen. Guile wird als Programmbibliothek implementiert, die in andere Programme – vor allem C- und C++-Programme – eingebunden werden kann, um deren Erweiterbarkeit zu fördern.
Geschichte
[Bearbeiten | Quelltext bearbeiten]Die Ursprünge von Guile liegen in einer Diskussion, die von Richard Stallman angefangen wurde und die später unter dem Namen „Tcl-Wars“ bekannt geworden ist: Stallman behauptete, dass Tcl nicht leistungsfähig genug sei, um als Erweiterungssprache zu dienen und kündigte die Absicht der Free Software Foundation an, Guile als Erweiterungssprache für das GNU-Projekt zu fördern. Es ist hingegen ein weit verbreitetes Missverständnis, dass Guile als Reaktion auf Tcl geschaffen wurde. Zwar geschah die öffentliche Ankündigung von Guile zur gleichen Zeit wie die „Tcl-Wars“, aber Guile wurde aus einem Zustand heraus geschaffen, der außerhalb der Polemik existierte. Eine gute Einführung in die Entstehungsgeschichte zu GNU Guile findet sich im Reference Manual zu Guile.
Eigenschaften des Guile-Interpreters
[Bearbeiten | Quelltext bearbeiten]Der Guile-Interpreter erweitert Scheme unter anderem um folgende Fähigkeiten:
- Ein erweitertes Modulsystem
- Vollen Zugriff auf POSIX-Systemaufrufe
- Netzwerkunterstützung
- Multithreading
- Dynamisches Linken
- Eine Schnittstelle zur Ausführung Scheme-fremder Funktionsaufrufe
- Verbesserte Verarbeitung von Zeichenketten
- Objektorientierung durch das Modul goops, ähnlich zum Common Lisp Object System
Anders als Scheme selbst ist Guile case sensitive.
Projekte, die Guile einsetzen
[Bearbeiten | Quelltext bearbeiten]- gEDA
- GNU Anubis
- GnuCash
- GNU Debugger (gdb) – von Version 7.8 an[4]
- GNU Make – von Version 4.0 an[5]
- GNU MDK
- GNU Robots
- GNU Serveez
- GNU TeXmacs
- GnoTime
- LilyPond
- Scwm
- Taxbird
- GNU Guix und GNU Guix System
Literatur
[Bearbeiten | Quelltext bearbeiten]- Jim Blandy, „Guile: An Interpreter Core for Complete Applications“, Handbook of Programming Languages, Volume IV: Functional and Logic Programming Languages, Peter H. Salus (Herausgeber). 1998 (erste Auflage), Macmillian Technical Publishing; ISBN 1-57870-011-6, S. 87–104.
Weblinks
[Bearbeiten | Quelltext bearbeiten]- GNU Guile - Homepage
- GNU Guile - Reference Manual
- Archives of the Tcl Wars
- „An Anatomy of Guile, The Interface to Tcl/Tk“ (1995)
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ GNU's programming and extension language. (abgerufen am 28. Juli 2017).
- ↑ Guile: An Interpreter Core for Complete Applications. In: Handbook of Programming Languages. S. 102.
- ↑ Andy Wingo: GNU Guile 3.0.10 released. 23. Juni 2024 (englisch, abgerufen am 24. Juni 2024).
- ↑ Joel Brobecker: GDB 7.8 released! 29. Juli 2014, abgerufen am 30. Juli 2014.
- ↑ Paul Smith: GNU Make 4.0 released. 9. Oktober 2013, abgerufen am 9. Oktober 2013.